type MyAwaited<T extends Promise<any>> = T extends Promise<infer R> 
    ? R extends Promise<infer P> ? MyAwaited<R> : R
    : never

